/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.sistemas.sse.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.Proxy;

/**
 *
 * @author laptop-w8
 */
@Entity
@Table(name = "MCONV")
@Proxy(lazy = false)
public class Convocatoria implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "CCONV")
    private long id_convocatoria;
    @Column(name = "DTITOF_CONV")
    private String dtituloOferta;
    @Column(name = "DDESC_CONV")
    private String ddescripcion;
    @Column(name = "DTIPPSTO_CONV")
    private String dtipoPuesto;
    @Column(name = "DNIV_CONV")
    private String dnivel;
    @Column(name = "DAREA_CONV")
    private String darea;
    @Column(name = "DDISP_CONV")
    private String ddisponibilidad;
    @Column(name = "DFUNC_CONV")
    private String dfunciones;
    @Column(name = "DRSPN_CONV")
    private String dresponsabilidad;
    @Column(name = "DBENEF_CONV")
    private String dbeneficios;
    @Column(name = "DSAL_CONV")
    private String dsalario;
    @Column(name = "DEDAD_CONV")
    private String dedad;
    @Column(name = "DSEX_CONV")
    private String dsexo;
    @Column(name = "DTCONTR_CONV")
    private String dtiempoContrato;
    @Column(name = "NVAC_CONV")
    private int nvacante;
    @Column(name = "DUBC_CONV")
    private String dubicacion;
    @Column(name = "FPUBL_CONV")
    private Date fpublicacion;
    @Column(name = "FINIC_CONV")
    private Date finicioConvocatoria;
    @Column(name = "FFIN_CONV")
    private Date ffinConvocatoria;
    @Column(name = "DEMAIL_CONV")
    private String demail;
    @Column(name = "DASNT_CONV")
    private String dasunto;
    @Column(name = "BESTACTV_CONV")
    private boolean bestado;
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "convocatoria")
    private Set<ConvocatoriaConocimiento> conocimientos;
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "convocatoria")
    private Set<ConvocatoriaEstudio> estudios;
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "convocatoria")
    private Set<ConvocatoriaExperiencia> experiencias;
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "convocatoria")
    private Set<ConvocatoriaIdioma> idiomas;
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "convocatoria")
    private Set<ConvocatoriaOtroEstudio> otroEstudios;
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "DRUCEMP", referencedColumnName = "DRUCEMP", nullable = false)
    private Empresa empresa;
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "convocatoria")
    private Set<Postulacion> postulaciones;

    public long getId_convocatoria() {
        return id_convocatoria;
    }

    public void setId_convocatoria(long id_convocatoria) {
        this.id_convocatoria = id_convocatoria;
    }

    public String getDtituloOferta() {
        return dtituloOferta;
    }

    public void setDtituloOferta(String dtituloOferta) {
        this.dtituloOferta = dtituloOferta;
    }

    public String getDdescripcion() {
        return ddescripcion;
    }

    public void setDdescripcion(String ddescripcion) {
        this.ddescripcion = ddescripcion;
    }

    public String getDtipoPuesto() {
        return dtipoPuesto;
    }

    public void setDtipoPuesto(String dtipoPuesto) {
        this.dtipoPuesto = dtipoPuesto;
    }

    public String getDnivel() {
        return dnivel;
    }

    public void setDnivel(String dnivel) {
        this.dnivel = dnivel;
    }

    public String getDarea() {
        return darea;
    }

    public void setDarea(String darea) {
        this.darea = darea;
    }

    public String getDdisponibilidad() {
        return ddisponibilidad;
    }

    public void setDdisponibilidad(String ddisponibilidad) {
        this.ddisponibilidad = ddisponibilidad;
    }

    public String getDfunciones() {
        return dfunciones;
    }

    public void setDfunciones(String dfunciones) {
        this.dfunciones = dfunciones;
    }

    public String getDresponsabilidad() {
        return dresponsabilidad;
    }

    public void setDresponsabilidad(String dresponsabilidad) {
        this.dresponsabilidad = dresponsabilidad;
    }

    public String getDbeneficios() {
        return dbeneficios;
    }

    public void setDbeneficios(String dbeneficios) {
        this.dbeneficios = dbeneficios;
    }

    public String getDsalario() {
        return dsalario;
    }

    public void setDsalario(String dsalario) {
        this.dsalario = dsalario;
    }

    public String getDedad() {
        return dedad;
    }

    public void setDedad(String dedad) {
        this.dedad = dedad;
    }

    public String getDsexo() {
        return dsexo;
    }

    public void setDsexo(String dsexo) {
        this.dsexo = dsexo;
    }

    public String getDtiempoContrato() {
        return dtiempoContrato;
    }

    public void setDtiempoContrato(String dtiempoContrato) {
        this.dtiempoContrato = dtiempoContrato;
    }

    public int getNvacante() {
        return nvacante;
    }

    public void setNvacante(int nvacante) {
        this.nvacante = nvacante;
    }

    public String getDubicacion() {
        return dubicacion;
    }

    public void setDubicacion(String dubicacion) {
        this.dubicacion = dubicacion;
    }

    public Date getFpublicacion() {
        return fpublicacion;
    }

    public void setFpublicacion(Date fpublicacion) {
        this.fpublicacion = fpublicacion;
    }

    public Date getFinicioConvocatoria() {
        return finicioConvocatoria;
    }

    public void setFinicioConvocatoria(Date finicioConvocatoria) {
        this.finicioConvocatoria = finicioConvocatoria;
    }

    public Date getFfinConvocatoria() {
        return ffinConvocatoria;
    }

    public void setFfinConvocatoria(Date ffinConvocatoria) {
        this.ffinConvocatoria = ffinConvocatoria;
    }

    public String getDemail() {
        return demail;
    }

    public void setDemail(String demail) {
        this.demail = demail;
    }

    public String getDasunto() {
        return dasunto;
    }

    public void setDasunto(String dasunto) {
        this.dasunto = dasunto;
    }

    public boolean isBestado() {
        return bestado;
    }

    public void setBestado(boolean bestado) {
        this.bestado = bestado;
    }

    public Set<ConvocatoriaConocimiento> getConocimientos() {
        return conocimientos;
    }

    public void setConocimientos(Set<ConvocatoriaConocimiento> conocimientos) {
        this.conocimientos = conocimientos;
    }

    public Set<ConvocatoriaEstudio> getEstudios() {
        return estudios;
    }

    public void setEstudios(Set<ConvocatoriaEstudio> estudios) {
        this.estudios = estudios;
    }

    public Set<ConvocatoriaExperiencia> getExperiencias() {
        return experiencias;
    }

    public void setExperiencias(Set<ConvocatoriaExperiencia> experiencias) {
        this.experiencias = experiencias;
    }

    public Set<ConvocatoriaIdioma> getIdiomas() {
        return idiomas;
    }

    public void setIdiomas(Set<ConvocatoriaIdioma> idiomas) {
        this.idiomas = idiomas;
    }

    public Set<ConvocatoriaOtroEstudio> getOtroEstudios() {
        return otroEstudios;
    }

    public void setOtroEstudios(Set<ConvocatoriaOtroEstudio> otroEstudios) {
        this.otroEstudios = otroEstudios;
    }

    public Empresa getEmpresa() {
        return empresa;
    }

    public void setEmpresa(Empresa empresa) {
        this.empresa = empresa;
    }

    public Set<Postulacion> getPostulaciones() {
        return postulaciones;
    }

    public void setPostulaciones(Set<Postulacion> postulaciones) {
        this.postulaciones = postulaciones;
    }

}
